import { formatDate } from './index'

function dateFormat (val) {
  const DATEREGEXP = /\d{4}(-|\/|.)\d{1,2}\d{1,2}/
  const STMPEXP = /([0-9]){13}/

  if (val instanceof Date) {
    return val
  } else if (DATEREGEXP.test(val) || STMPEXP.test(val)) {
    return new Date(val)
  } else {
    throw new Error('日期格式错误')
  }
}

// 日期到时月
export function datetimeToMonth (val) {
  if (!val) return val
  val = dateFormat(val)
  return formatDate(val, 'yyyy-MM')
}

// 日期到时分
export function datetimeToDay (val) {
  if (!val) return val
  val = dateFormat(val)
  return formatDate(val, 'yyyy-MM-dd')
}

// 日期到时分
export function datetimeToMin (val) {
  if (!val) return val
  val = dateFormat(val)
  return formatDate(val, 'yyyy-MM-dd hh:mm')
}

// 日期到时分秒
export function datetimeToSec (val) {
  if (!val) return val
  val = dateFormat(val)
  return formatDate(val, 'yyyy-MM-dd hh:mm:ss')
}
